﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using System.Threading;

namespace AutomationTools.Procedimentos.SimulacaoUso.Web
{
    public class AbrirURL : IProcedimento
    {
        private IContexto contexto;
        public System.Windows.Forms.WebBrowser Browser
        {
            get
            {
                if (!contexto.HasMember("WebBrowser"))
                {
                    ((dynamic)contexto).WebBrowser = InicializarWebBrowser();
                }
                return (WebBrowser)((dynamic)contexto).WebBrowser;
            }
        }

        private static WebBrowser InicializarWebBrowser()
        {
            var wb = new WebBrowser();
            wb.AllowNavigation = true;
            wb.Visible = true;
            wb.ScriptErrorsSuppressed = true;
            return wb;
        }

        private string uri;
        public AbrirURL(string uri)
        {
            this.uri = uri;
        }

        public object Executar(IContexto contexto)
        {
            this.contexto = contexto;
            Browser.Navigate(uri);
            return Browser;
        }


        public void ValidarEntrada(IContexto contexto)
        {
            throw new NotImplementedException();
        }
    }
}
